package cwiczenia.cwiczenia9.zad5;

import java.util.TreeMap;

public class Main {
    public static void main(String[] args) {
        String napis = "Jakikolwiek znak, tak czy siak bedzie sie powtarzal, wiec looozik. Ps. Stringi są fajne :P";

        TreeMap<Character, Integer> mapaLiter = new TreeMap<Character, Integer>();         // TreeMap jest od razu posortowana od a do z  <litera, liczba>

        for(int i = 0; i < napis.length(); i++) {
            // System.out.print(napis.charAt(i));           // wyswietl kazda literke na pozycji i (i++)

            char znak = napis.charAt(i);

            if (mapaLiter.get(znak) == null) {              // jesli znak nie wystapil w naszej TreeMapie, to
                mapaLiter.put(znak, 1);                     // dopasuj do niego wart 1, czyli ze pierwsze wystapienie literki
            } else {
                int ileRazyJuzWystapil = mapaLiter.get(znak);      // else - jesli juz wystapila: pobierz ten znak i...
                mapaLiter.put(znak, ileRazyJuzWystapil+1);         // ...wypisz ten znak i dodaj mu wartosc +1 (czyli ze wystapil np. 3razy itd.
            }
        }

        System.out.println(napis);

        for (Character character : mapaLiter.keySet()) {   // keySet - pobranie z mapy kluczy (czyli literek, znakow)
            String tekst = String.format("Znak %c wystąpił %d razy", character, mapaLiter.get(character));
            System.out.println(tekst);

            // System.out.println("Znak " + character + " wystąpił " + mapaLiter.get(character) + " razy");
        }
    }
}
